import { post } from '@/utils/request';

// 群组信息接口定义
export interface GroupInfo {
  groupId?: number;
  groupName: string;
  groupDsc: string;
  upGroupId?: number | null;
}

// 查询参数
export interface GroupQueryParams {
  pageNo?: number;
  pageSize?: number;
  groupName?: string;
}

// 群组列表响应
export interface GroupListResponse {
  list: GroupInfo[];
  total: number;
}

// 统一返回格式
export interface ResultBean<T> {
  code: number;
  message: string;
  data: T;
}

// 查询群组列表
export function queryGroupList(params: GroupQueryParams) {
  return post<ResultBean<GroupListResponse>>('/api/group/query', params);
}

// 获取所有群组列表（不分页）
export function queryGroupListAll() {
  return post<ResultBean<GroupInfo[]>>('/api/group/list', {});
}

// 新增群组
export function addGroup(data: GroupInfo) {
  return post<ResultBean<null>>('/api/group/add', data);
}

// 编辑群组
export function updateGroup(data: GroupInfo) {
  return post<ResultBean<null>>('/api/group/update', data);
}

// 删除群组
export function deleteGroup(groupId: number) {
  return post<ResultBean<null>>('/api/group/delete', groupId);
}

export function getGroupNameByIds(groupIds: number[]) {
  return post<ResultBean<GroupInfo[]>>('/api/group/getGroupNameByIds', groupIds);
}
